Skip to content

Conversation

@chengzhuzhang
Copy link
Contributor

@chengzhuzhang chengzhuzhang commented Sep 16, 2025

Description

Close #999
This PR fully support native ELM output for model vs model comparison by expanding from ~94 variables to all 353
variables from the land group's CSV file.

Key Changes

  1. Variable Expansion
  • Before: 94 ELM variables in lat_lon_land_model_vs_model.cfg
  • After: 422 total variables (94 original + 283 new and additional )
  • New Variables Added: 283 ELM variables from zppy_land_fields.csv
  1. Unit Conversion System

Proper Conversions for Spatial Maps:

  • Carbon Flux Variables: gC/m²/s * 86400 → gC/m²/day
  • Carbon State Variables: gC/m² / 1000 → kgC/m²
  • Nitrogen/Phosphorus Flux: gN/m²/s * 86400 → mgN/m²/day
  • No Conversion Variables: Direct rename for energy fluxes, physical states, etc.
  1. Data-Driven Contour Levels
  • Used actual PI control data:
    /lcrc/group/e3sm2/ac.zhang40/E3SMv3/v3.LR.piControl_land_ilamb/post/lnd/native/clim/50yr/
  • Calculated 5th/95th percentile-based contour levels from real data
  • Generated 16 realistic contour levels per variable
  1. Variable Organization

By Functional Groups (from CSV):

  • Aerosol Flux/State: BCDEP, DSTDEP, SNOBCMCL, etc.
  • C Flux: AGNPP, AR, BGNPP, CH4PROD, ER, GPP, HR, NBP, NPP, etc.
  • C State: CWDC, FROOTC, LEAFC, SOIL1C, WOODC, etc.
  • Energy Flux/State: EFLX_LH_TOT, FSA, FSH, TSA, etc.
  • Fire: FAREA_BURNED, PFT_FIRE_CLOSS, etc.
  • H2O Flux/State: QRUNOFF, RAIN, SNOW, TWS, etc.
  • N Flux/State: ACTUAL_IMMOB, F_DENIT, GROSS_NMIN, SMINN, etc.
  • P Flux/State: ACTUAL_IMMOB_P, GROSS_PMIN, SMINP, etc.
  • Physical State: ALT, FSNO, ZWT, etc.
  • Veg State: BTRAN, ELAI, TLAI, etc.
  • Urban, Winds, Pressure: Various specialized variables

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

If applicable:

  • New and existing unit tests pass with my changes (locally and CI/CD build)
  • I have added tests that prove my fix is effective or that my feature works
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have noted that this is a breaking change for a major release (fix or feature that would cause existing functionality to not work as expected)

@chengzhuzhang chengzhuzhang marked this pull request as ready for review September 16, 2025 21:39
@chengzhuzhang
Copy link
Contributor Author

@thorntonpe Hi, Peter, I have this PR for e3sm_diags to generate many more variables to match those requested for zppy's global time-series plots. Could you view the results to see if there are obvious problems that I should fix? Thank you!

@chengzhuzhang
Copy link
Contributor Author

I need to merge this for the zppy weekly test to get prepared for e3sm-unified, we can fine tuning this feature before the final e3sm diags v3.1 release.

@chengzhuzhang chengzhuzhang merged commit 9032c3d into main Sep 19, 2025
5 checks passed
@chengzhuzhang chengzhuzhang deleted the add_full_land_var branch September 19, 2025 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Fully support native ELM output for model vs model comparison

2 participants